Modern microprocessors may support run-ahead execution in their architectures. Run-ahead execution is a mechanism of suspending the regular execution of instructions and processing the subsequent instruction stream in a speculative manner. In one important example, run-ahead execution may be entered subsequent to encountering a data-dependency stall. In some implementations, the run-ahead execution supports load boosting (load prefetching) and makes no attempt to utilize any data produced by the run-ahead execution. In other implementations, the run-ahead execution may use data produced during the run-ahead execution and supplied by a bypass network. These results are eventually lost due to the limited depth of the bypass network, and the associated target registers are marked as “poisoned” to avoid launching loads that depend on such poisoned registers. Increasing the depth of the bypass network may make the run-ahead execution more profitable, but at the cost of a greatly increased circuit complexity.